var map = new BMap.Map("mapMain");                              // 创建Map实例
!function(){ //初始化地图模块相关代码
    $("#mapMain").height(900);
	$("center").height(900);
	map.enableScrollWheelZoom();                            // 启用滚轮放大缩小 map.enableContinuousZoom();                             // 启用地图惯性拖拽，默认禁用 map.enableInertialDragging();                           // 启用连续缩放效果，默认禁用。 map.addControl(new BMap.NavigationControl());           // 添加平移缩放控件
    map.addControl(new BMap.ScaleControl());                // 添加比例尺控件
    map.addControl(new BMap.OverviewMapControl());          // 添加缩略地图控件
    map.addControl(new BMap.MapTypeControl());              // 添加地图类型控件
    map.centerAndZoom("成都", 11); // 初始化地图,设置中心点坐标和地图级别
    map.setCurrentCity("成都");                             //由于有3D图，需要设置城市哦
}();


!function(){
	
	 /**
     * 麻点图点击麻点的回调函数
     * @param 麻点图点击事件返回的单条数据
     */
    function hotspotclickCallback(e) {
        var customPoi = e.customPoi,
		    str = [];
		str.push("address = " + customPoi.address);
		str.push("phoneNumber = " + customPoi.phoneNumber);
        var content = '<p style="width:280px;margin:0;line-height:20px;">地址：' + customPoi.address + '</p>';
        //创建检索信息窗口对象
        var searchInfoWindow = new BMapLib.SearchInfoWindow(map, content, {
            title: customPoi.title,  //标题
            width: 290,              //宽度
            height: 40,              //高度
            enableAutoPan : true,    //自动平移
            enableSendToPhone: true, //是否显示发送到手机按钮
            searchTypes :[
                BMAPLIB_TAB_SEARCH,   //周边检索
                BMAPLIB_TAB_TO_HERE,  //到这里去
                BMAPLIB_TAB_FROM_HERE //从这里出发
            ]
        });
        var point = new BMap.Point(customPoi.point.lng, customPoi.point.lat);
        searchInfoWindow.open(point); //打开信息窗口
    }
	
	//绑定检索按钮事件
    $('#searchBtn').bind('click', function(){
        keyword = $('#keyword').val();
        searchAction(keyword);
    });

    /**
     * 进行检索操作
     * @param 关键词
     * @param 当前页码
     */
    function searchAction(keyword, page) {
        page = page || 0;
        var filter = []; //过滤条件
        $.each($('#selectedValue div'), function(i, item){ //将选中的筛选条件添加到过滤条件参数中
            var type = $(item).attr('type'),
                value = $(item).attr('value');
            if (type == "location") {
                keyword = value + " " + keyword;
            } else {
                filter.push(type + ':' + value);
            }
        });
        var url = "http://api.map.baidu.com/geosearch/v3/local?callback=?";
        $.getJSON(url, {
            'q'          : keyword, //检索关键字
            'page_index' : page,  //页码
            'filter'     : filter.join('|'),  //过滤条件
            /*'region'     : '131',  //北京的城市id*/
            'scope'      : '2',  //显示详细信息
            'geotable_id': 87690,
            'ak'         : 'o4AD6vqFSQmT84gOfOSrVGn9'  //用户ak
        },function(e) {
            //renderList(e, page + 1);
            renderMap(e, page + 1);
        });
    }
	
	//检索模块相关代码
    var keyword     = "",   //检索关键词
        page        = 0,    //当前页码
        points      = [],   //存储检索出来的结果的坐标数组
        customLayer = null; //麻点图层
    customLayer=new BMap.CustomLayer(4392); //新建麻点图图层对象
    map.addTileLayer(customLayer); //将麻点图添加到地图当中
    customLayer.addEventListener('hotspotclick', hotspotclickCallback); //给麻点图添加点击麻点回调函
	
	/****
	*渲染星级
	
	*/
	function starTo(star){
		var number = parseInt(star);
		var sBig = Math.floor(number/2);
		var sA = number%2;
		var sMin = 5 - Math.ceil(number/2);
		function eachs(num,str){
			var tmpStr = '';
			for(var i=0 ; i<num ; i++){
				tmpStr += str;
			}
			return tmpStr;
		}
		
		var str = '';
		str+= eachs(sBig,'<span class=\'big\'></span>');
		str+= eachs(sA,'<span class=\'ban\'></span>');
		str+= eachs(sMin,'<span class=\'min\'></span>');
		return str;
	}
	/**
     * 渲染地图模式
     * @param result
     * @param page
     */
    function renderMap(res, page) {
        var content = res.contents;
        $('#mapList').html('');
        map.clearOverlays();
        points.length = 0;

        if (content.length == 0) {
            $('#mapList').append($('<p style="border-top:1px solid #DDDDDD;padding-top:10px;text-align:center;text-align:center;font-size:18px;" class="text-warning">抱歉，没有找到您想要的短租信息，请重新查询</p>'));
            return;
        }

        $.each(content, function(i, item){
            var point = new BMap.Point(item.location[0], item.location[1]),
                marker = new BMap.Marker(point);
            points.push(point);
			item.game = true;
			var nearGame = item.game ? "<a class=\"game btn10\">近期有赛事</a>":"";
            var tr = $("<tr><td width='65%'><p class=\"title\" >" + item.title + "</p><div class=\"detail\"><p class=\"address\" >地址：" + item.address + "<br />电话：12345678</p><p class=\"star\" >" + starTo(3) + "</p></div></td><td width='35%'>"+nearGame+"<span class='down'>详细</span></td></tr>").css({"cursor":"pointer"}).click(function(){
				showInfo();
				$("#mapList").find(".detail").slideUp();
				$(this).find(".detail").slideDown();
			});
            $('#mapList').append(tr);
            marker.addEventListener('click', showInfo);
            function showInfo() {
                var content = "<img src='" + item.mainimage + "' style='width:111px;height:93px;float:left;margin-right:5px;'/>" +
                              "<p>地址：" + item.address + "</p>" +
                              "<p>电话：" + "123456789" + "</p>"+
							  "<p>" + starTo(3) + "</p>"+
							  "<a href=\"#\" class=\"tip\">场地直通车<span>点我看场地</span></a>";
                //创建检索信息窗口对象
                var searchInfoWindow = new BMapLib.SearchInfoWindow(map, content, {
                    title  : item.title,       //标题
                    width  : 290,             //宽度
                    panel  : "panel",         //检索结果面板
                    enableAutoPan : true,     //自动平移
                    searchTypes   :[
                        
                        BMAPLIB_TAB_TO_HERE,  //到这里去
                        BMAPLIB_TAB_FROM_HERE, //从这里出发
						BMAPLIB_TAB_SEARCH,   //周边检索
                    ]
                });
                searchInfoWindow.open(marker);
            };
            map.addOverlay(marker);
			
        });
		
		
        /**
         * 分页
         */
        var pagecount = Math.ceil(res.total / 10);
        if (pagecount > 76) {
            pagecount = 76; //最大页数76页
        }
        function PageClick (pageclickednumber) {
            pageclickednumber = parseInt(pageclickednumber);
            $("#pager").pager({ pagenumber: pageclickednumber, pagecount: pagecount, showcount: 3, buttonClickCallback: PageClick });
            searchAction(keyword, pageclickednumber -1);
        }
        $("#mapPager").pager({ pagenumber: page, pagecount: pagecount, showcount:3, buttonClickCallback: PageClick });

        map.setViewport(points);
		$("#mapList tr").eq(0).click();
    };
	
	/**
     * 渲染列表模式
     * @param result
     * @param page
     */

    /*function renderList(res, page) {
        var content = res.contents;
        $('#listBoby').html('');

        if (content.length == 0) {
            $('#listBoby').append($('<p style="border-top:1px solid #DDDDDD;padding-top:10px;text-align:center;text-align:center;font-size:18px;" class="text-warning">抱歉，没有找到您想要的短租信息，请重新查询</p>'));
            return;
        }

        $.each(content, function(i, item){
            $('#listBoby').append("<tr><td width='13%'><img src='" + item.mainimage + "' style='width:111px;height:83px;'/></td><td width='67%'><a href='" + item.roomurl + "' target='_blank' onclick='Util.addLogCount()'>" + item.title + "<a/><br/>地址：" +"</td><td width='20%'>" + item.dayprice + " <span style='color:red;'>元/晚</span></td></tr>");
        });

        var pagecount = Math.ceil(res.total / 10);
        if (pagecount > 76) {
            pagecount = 76;
        }
        function PageClick (pageclickednumber) {
            pageclickednumber = parseInt(pageclickednumber);
            $("#pager").pager({ pagenumber: pageclickednumber, pagecount: pagecount, showcount:9, buttonClickCallback: PageClick });
            searchAction(keyword, pageclickednumber -1);
        }
        $("#pager").pager({ pagenumber: page, pagecount: pagecount, showcount:9, buttonClickCallback: PageClick });
    }*/
	
	searchAction();
	
}();